package org.spring.springboot.dao;

import org.apache.ibatis.annotations.Param;
import org.spring.springboot.domain.City;
import org.springframework.stereotype.Repository;

/**
 * 城市 DAO 接口类
 *
 * Created by bysocket on 07/02/2017.
 * @Repository表明该类是用来执行与数据库相关的操作（即dao对象），并支持自动处理数据库操作产生的异常
 *
 * @Component是一个通用的Spring容器管理的单例bean组件。
 * 而@Repository, @Service, @Controller就是针对不同的使用场景所采取的特定功能化的注解组件。
 *
 * 因此，当你的一个类被@Component所注解，那
 * 么就意味着同样可以用@Repository, @Service, @Controller来替代它，
 * 同时这些注解会具备有更多的功能，而且功能各异。
 */
@Repository
public interface CityDao {

    /**
     * 根据城市名称，查询城市信息
     *
     * @param cityName 城市名
     */
    City findByName(@Param("cityName") String cityName);
}
